/**
 * 任务配置文件
 * 
 * 在这里管理所有要执行的任务
 * - 添加任务：在 tasks 数组中添加任务文件夹名称
 * - 删除任务：从 tasks 数组中移除任务名称
 * - 禁用任务：在任务的 index.js 中设置 enabled: false
 */

module.exports = {
    // ==================== 任务列表 ====================
    // 列出所有要加载的任务（对应 tasks/ 目录下的文件夹名）
    tasks: [
        'taobao',     // 淘宝任务
        'jd',         // 京东任务
        'amazon-jp',  // 亚马逊日本任务
        'amazon-de',  // 亚马逊德国任务
        // 'amazon',  // 添加新任务时取消注释
        // 'ebay',
        // 'pinduoduo',
    ],
    
    // ==================== 执行模式 ====================
    // 默认执行模式：'parallel'（并发）、'sequential'（顺序）、'concurrent'（限制并发）
    defaultMode: 'parallel',
    
    // ==================== 并发控制 ====================
    // 限制并发模式下，同时执行的最大任务数
    maxConcurrent: 2,
    
    // ==================== 延迟设置 ====================
    // 顺序执行时，任务之间的延迟（毫秒）
    delayBetweenTasks: 2000,
    
    // 限制并发时，批次之间的延迟（毫秒）
    delayBetweenBatches: 3000,
    
    // ==================== 浏览器配置 ====================
    browser: {
        // 是否显示浏览器窗口（false=显示，true=隐藏）
        headless: true,
        
        // 是否使用 stealth 模式（隐身模式，绕过反爬虫检测）
        stealth: true,
        
        // 操作延迟，便于观察（毫秒，0=无延迟）
        slowMo: 500,
        
        // 页面加载超时时间（毫秒）
        timeout: 30000,
    },
    
    // ==================== 输出设置 ====================
    output: {
        // 是否保存结果到文件
        saveToFile: true,
        
        // 结果保存目录
        outputDir: './output',
        
        // 结果文件名格式（可用变量：{date}、{time}、{timestamp}）
        fileNameFormat: 'result_{date}_{time}.json',
        
        // 是否在控制台显示详细信息
        verbose: true,
    },
    
    // ==================== 数据库设置 ====================
    database: {
        // 是否启用数据库保存
        enabled: true,
        
        // MongoDB 连接 URI（可通过环境变量 MONGODB_URI 覆盖）
        // 本地开发：'mongodb://localhost:27017/ecommerce_crawler'
        // MongoDB Atlas：'mongodb+srv://username:password@cluster.mongodb.net/ecommerce_crawler'
        mongoUri: process.env.MONGODB_URI || 'mongodb://localhost:27017/ecommerce_crawler',
        
        // 是否在保存到数据库失败时继续执行
        continueOnError: true,
    },
    
    // ==================== 搜索关键词配置 ====================
    // 👇 在这里配置默认搜索关键词
    keywords: {
        // 亚马逊德国搜索关键词
        'amazon-de': [
            'Baby Foods',
            'Baby Diapers',
            'Baby Toys',
            'Baby Bottles',
            'Baby Wipes',
            // 添加更多关键词...
        ],
        
        // 亚马逊日本搜索关键词
        'amazon-jp': [
            'Baby Foods',
            'Baby Diapers',
            'Baby Toys',
            'Baby Bottles',
            'Baby Wipes',
            // 'ベビーフード',  // Baby Food
            // 'おむつ',        // Diapers
            // 添加更多关键词...
        ],
        
        // 淘宝搜索关键词
        'taobao': [
            '婴儿食品',
            '婴儿尿布',
            // 添加更多关键词...
        ],
        
        // 京东搜索关键词
        'jd': [
            '婴儿用品',
            '奶粉',
            // 添加更多关键词...
        ]
    }
};

